//******************************************************************************
//  _____                  _    _             __
// |  _  |                | |  | |           / _|
// | | | |_ __   ___ _ __ | |  | | __ _ _ __| |_ __ _ _ __ ___
// | | | | '_ \ / _ \ '_ \| |/\| |/ _` | '__|  _/ _` | '__/ _ \
// \ \_/ / |_) |  __/ | | \  /\  / (_| | |  | || (_| | | |  __/
//  \___/| .__/ \___|_| |_|\/  \/ \__,_|_|  |_| \__,_|_|  \___|
//       | |               We don't make the game you play.
//       |_|                 We make the game you play BETTER.
//
//            Website: http://openwarfaremod.com/
//******************************************************************************

#include openwarfare\_utils;


init()
{
	// Get the main module's dvar
	level.scr_wdm_enabled = getModDvarX( "scr_wdm_enabled", "int", 0, 0, 1 );

	// If weapon damage modifier is disabled then there's nothing else to do here
	if ( level.scr_wdm_enabled == 0 )
		return;

	thread loadWDM();

	return;
}


wdmDamage( iDamage, sWeapon, sHitLoc, sMeansOfDeath )
{
	// By default we won't change the iDamage value
	damageModifier = 1.0;

	// Make sure it was not a knife kill or a headshot
	if ( sMeansOfDeath != "MOD_MELEE" && !maps\mp\gametypes\_globallogic_utils::isHeadShot( sWeapon, sHitLoc, sMeansOfDeath ) ) {
		// Check if we support wdm for this weapon
		if ( isDefined( level.wdm[ sWeapon ] ) ) {
			damageModifier = getModDvarX( level.wdm[ sWeapon ], "float", 100.0, 0.0, 200.0 ) / 100;
		} else {
			// Just for testing. Remove this line on release version!
			//self iprintln( "No damage defined for " + sWeapon );
		}
	}

	return int( iDamage * damageModifier );
}


loadWDM()
{
	// Load all the weapons with their corresponding dvar controlling it
	level.wdm = [];

	// Sniper 

	level.wdm[ "dragunov_acog_mp" ] = "scr_wdm_dragunov";
	level.wdm[ "dragunov_extclip_mp" ] = "scr_wdm_dragunov";
	level.wdm[ "dragunov_ir_mp" ] = "scr_wdm_dragunov";
	level.wdm[ "dragunov_vzoom_mp" ] = "scr_wdm_dragunov";
	level.wdm[ "dragunov_mp" ] = "scr_wdm_dragunov";
	level.wdm[ "dragunov_silencer_mp" ] = "scr_wdm_dragunov_silenced";

	level.wdm[ "wa2000_acog_mp" ] = "scr_wdm_wa2000";
	level.wdm[ "wa2000_extclip_mp" ] = "scr_wdm_wa2000";
	level.wdm[ "wa2000_mp" ] = "scr_wdm_wa2000";
	level.wdm[ "wa2000_ir_mp" ] = "scr_wdm_wa2000";
	level.wdm[ "wa2000_vzoom_mp" ] = "scr_wdm_wa2000";
	level.wdm[ "wa2000_silencer_mp" ] = "scr_wdm_wa2000_silenced";

	level.wdm[ "l96a1_acog_mp" ] = "scr_wdm_l96a1";
	level.wdm[ "l96a1_extclip_mp" ] = "scr_wdm_l96a1";
	level.wdm[ "l96a1_mp" ] = "scr_wdm_l96a1";
	level.wdm[ "l96a1_ir_mp" ] = "scr_wdm_l96a1";
	level.wdm[ "l96a1_vzoom_mp" ] = "scr_wdm_l96a1";
	level.wdm[ "l96a1_silencer_mp" ] = "scr_wdm_l96a1_silenced";

	level.wdm[ "psg1_acog_mp" ] = "scr_wdm_psg1";
	level.wdm[ "psg1_exclip_mp" ] = "scr_wdm_psg1";
	level.wdm[ "psg1_mp" ] = "scr_wdm_psg1";
	level.wdm[ "psg1_ir_mp" ] = "scr_wdm_psg1";
	level.wdm[ "psg1_vzoom_mp" ] = "scr_wdm_psg1";
	level.wdm[ "psg1_silencer_mp" ] = "scr_wdm_psg1_silenced";

        // Pistols

	level.wdm[ "asp_mp" ] = "scr_wdm_asp";
	level.wdm[ "aspdw_mp" ] = "scr_wdm_asp";
	level.wdm[ "asplh_mp" ] = "scr_wdm_asp";

	level.wdm[ "cz75_auto_mp" ] = "scr_wdm_cz75";
	level.wdm[ "cz75_extclip_mp" ] = "scr_wdm_cz75";
	level.wdm[ "cz75_mp" ] = "scr_wdm_cz75";
	level.wdm[ "cz75_upgradesight_mp" ] = "scr_wdm_cz75";
	level.wdm[ "cz75dw_mp" ] = "scr_wdm_cz75";
	level.wdm[ "cz75lh_mp" ] = "scr_wdm_cz75";
	level.wdm[ "cz75_silencer_mp" ] = "scr_wdm_cz75_silenced";

	level.wdm[ "m1911_extclip_mp" ] = "scr_wdm_m1911";
	level.wdm[ "m1911_mp" ] = "scr_wdm_m1911";
	level.wdm[ "m1911_upgradesight_mp" ] = "scr_wdm_m1911";
	level.wdm[ "m1911dw_mp" ] = "scr_wdm_m1911";
	level.wdm[ "m1911lh_mp" ] = "scr_wdm_m1911";
	level.wdm[ "m1911_silencer_mp" ] = "scr_wdm_m1911_silenced";

	level.wdm[ "makarov_extclip_mp" ] = "scr_wdm_makarov";
	level.wdm[ "makarov_mp" ] = "scr_wdm_makarov";
	level.wdm[ "makarov_upgradesight_mp" ] = "scr_wdm_makarov";
	level.wdm[ "makarovdw_mp" ] = "scr_wdm_makarov";
	level.wdm[ "makarovlh_mp" ] = "scr_wdm_makarov";
	level.wdm[ "makarov_silencer_mp" ] = "scr_wdm_makarov_silenced";

	level.wdm[ "python_acog_mp" ] = "scr_wdm_python";
	level.wdm[ "python_mp" ] = "scr_wdm_python";
	level.wdm[ "python_snub_mp" ] = "scr_wdm_python";
	level.wdm[ "python_speed_mp" ] = "scr_wdm_python";
	level.wdm[ "pythondw_mp" ] = "scr_wdm_python";
	level.wdm[ "pythonlh_mp" ] = "scr_wdm_python";

	// SMG 

	level.wdm[ "ak74u_acog_grip_mp" ] = "scr_wdm_ak74u";
	level.wdm[ "ak74u_acog_mp" ] = "scr_wdm_ak74u";
	level.wdm[ "ak74u_dualclip_mp" ] = "scr_wdm_ak74u";
	level.wdm[ "ak74u_elbit_mp" ] = "scr_wdm_ak74u";
	level.wdm[ "ak74u_extclip_mp" ] = "scr_wdm_ak74u";
	level.wdm[ "ak74u_gl_mp" ] = "scr_wdm_ak74u";
	level.wdm[ "ak74u_grip_dualclip_mp" ] = "scr_wdm_ak74u";
	level.wdm[ "ak74u_grip_extclip_mp" ] = "scr_wdm_ak74u";
	level.wdm[ "ak74u_grip_mp" ] = "scr_wdm_ak74u";
	level.wdm[ "ak74u_mp" ] = "scr_wdm_ak74u";
	level.wdm[ "ak74u_reflex_mp" ] = "scr_wdm_ak74u";
	level.wdm[ "ak74u_rf_mp" ] = "scr_wdm_ak74u";
	level.wdm[ "ak74u_silencer_mp" ] = "scr_wdm_ak74u_silenced";

	level.wdm[ "kiparis_acog_grip_mp" ] = "scr_wdm_kiparis";
	level.wdm[ "kiparis_acog_mp" ] = "scr_wdm_kiparis";
	level.wdm[ "kiparis_elbit_mp" ] = "scr_wdm_kiparis";
	level.wdm[ "kiparis_extclip_mp" ] = "scr_wdm_kiparis";
	level.wdm[ "kiparis_grip_extclip_mp" ] = "scr_wdm_kiparis";
	level.wdm[ "kiparis_grip_mp" ] = "scr_wdm_kiparis";
	level.wdm[ "kiparis_mp" ] = "scr_wdm_kiparis";
	level.wdm[ "kiparis_reflex_mp" ] = "scr_wdm_kiparis";
	level.wdm[ "kiparis_rf_mp" ] = "scr_wdm_kiparis";
	level.wdm[ "kiparisdw_mp" ] = "scr_wdm_kiparis";
	level.wdm[ "kiparislh_mp" ] = "scr_wdm_kiparis";
	level.wdm[ "kiparis_silencer_mp" ] = "scr_wdm_kiparis_silenced";


	level.wdm[ "mac11_elbit_mp" ] = "scr_wdm_mac11";
	level.wdm[ "mac11_extclip_mp" ] = "scr_wdm_mac11";
	level.wdm[ "mac11_grip_mp" ] = "scr_wdm_mac11";
	level.wdm[ "mac11_mp" ] = "scr_wdm_mac11";
	level.wdm[ "mac11_reflex_mp" ] = "scr_wdm_mac11";
	level.wdm[ "mac11_rf_mp" ] = "scr_wdm_mac11";
	level.wdm[ "mac11dw_mp" ] = "scr_wdm_mac11";
	level.wdm[ "mac11lh_mp" ] = "scr_wdm_mac11";
	level.wdm[ "mac11_silencer_mp" ] = "scr_wdm_mac11_silenced";


	level.wdm[ "mp5k_acog_mp" ] = "scr_wdm_mp5k";
	level.wdm[ "mp5k_elbit_mp" ] = "scr_wdm_mp5k";
	level.wdm[ "mp5k_extclip_mp" ] = "scr_wdm_mp5k";
	level.wdm[ "mp5k_mp" ] = "scr_wdm_mp5k";
	level.wdm[ "mp5k_reflex_mp" ] = "scr_wdm_mp5k";
	level.wdm[ "mp5k_rf_mp" ] = "scr_wdm_mp5k";
	level.wdm[ "mp5k_silencer_mp" ] = "scr_wdm_mp5k_silenced";

	level.wdm[ "mpl_acog_grip_mp" ] = "scr_wdm_mpl";
	level.wdm[ "mpl_acog_mp" ] = "scr_wdm_mpl";
	level.wdm[ "mpl_dualclip_mp" ] = "scr_wdm_mpl";
	level.wdm[ "mpl_elbit_mp" ] = "scr_wdm_mpl";
	level.wdm[ "mpl_grip_mp" ] = "scr_wdm_mpl";
	level.wdm[ "mpl_mp" ] = "scr_wdm_mpl";
	level.wdm[ "mpl_reflex_mp" ] = "scr_wdm_mpl";
	level.wdm[ "mpl_rf_mp" ] = "scr_wdm_mpl";
	level.wdm[ "mpl_silencer_mp" ] = "scr_wdm_mpl_silenced";

	level.wdm[ "pm63_extclip_mp" ] = "scr_wdm_pm63";
	level.wdm[ "pm63_grip_mp" ] = "scr_wdm_pm63";
	level.wdm[ "pm63_mp" ] = "scr_wdm_pm63";
	level.wdm[ "pm63_rf_mp" ] = "scr_wdm_pm63";
	level.wdm[ "pm63dw_mp" ] = "scr_wdm_pm63";
	level.wdm[ "pm63lh_mp" ] = "scr_wdm_pm63";

	level.wdm[ "skorpion_extclip_mp" ] = "scr_wdm_skorpion";
	level.wdm[ "skorpion_grip_mp" ] = "scr_wdm_skorpion";
	level.wdm[ "skorpion_mp" ] = "scr_wdm_skorpion";
	level.wdm[ "skorpion_rf_mp" ] = "scr_wdm_skorpion";
	level.wdm[ "skorpiondw_mp" ] = "scr_wdm_skorpion";
	level.wdm[ "skorpionlh_mp" ] = "scr_wdm_skorpion";
	level.wdm[ "skorpion_silencer_mp" ] = "scr_wdm_skorpion_silenced";

	level.wdm[ "spectre_acog_grip_mp" ] = "scr_wdm_spectre";
	level.wdm[ "spectre_acog_mp" ] = "scr_wdm_spectre";
	level.wdm[ "spectre_elbit_mp" ] = "scr_wdm_spectre";
	level.wdm[ "spectre_extclip_mp" ] = "scr_wdm_spectre";
	level.wdm[ "spectre_grip_mp" ] = "scr_wdm_spectre";
	level.wdm[ "spectre_mp" ] = "scr_wdm_spectre";
	level.wdm[ "spectre_reflex_mp" ] = "scr_wdm_spectre";
	level.wdm[ "spectre_rf_mp" ] = "scr_wdm_spectre";
	level.wdm[ "spectre_silencer_mp" ] = "scr_wdm_spectre_silenced";

	level.wdm[ "uzi_acog_grip_mp" ] = "scr_wdm_uzi";
	level.wdm[ "uzi_acog_mp" ] = "scr_wdm_uzi";
	level.wdm[ "uzi_elbit_mp" ] = "scr_wdm_uzi";
	level.wdm[ "uzi_extclip_mp" ] = "scr_wdm_uzi";
	level.wdm[ "uzi_grip_mp" ] = "scr_wdm_uzi";
	level.wdm[ "uzi_mp" ] = "scr_wdm_uzi";
	level.wdm[ "uzi_reflex_mp" ] = "scr_wdm_uzi";
	level.wdm[ "uzi_rf_mp" ] = "scr_wdm_uzi";
	level.wdm[ "uzi_silencer_mp" ] = "scr_wdm_uzi_silenced";

	// CQB

	level.wdm[ "aug_acog_mp" ] = "scr_wdm_aug";
	level.wdm[ "aug_dualclip_mp" ] = "scr_wdm_aug";
	level.wdm[ "aug_elbit_mp" ] = "scr_wdm_aug";
	level.wdm[ "aug_extclip_mp" ] = "scr_wdm_aug";
	level.wdm[ "aug_ft_mp" ] = "scr_wdm_aug";
	level.wdm[ "aug_gl_mp" ] = "scr_wdm_aug";
	level.wdm[ "aug_ir_mp" ] = "scr_wdm_aug";
	level.wdm[ "aug_mk_mp" ] = "scr_wdm_aug";
	level.wdm[ "aug_mp" ] = "scr_wdm_aug";
	level.wdm[ "aug_reflex_mp" ] = "scr_wdm_aug";
	level.wdm[ "aug_silencer_mp" ] = "scr_wdm_aug_silenced";

	level.wdm[ "enfield_acog_mp" ] = "scr_wdm_enfield";
	level.wdm[ "enfield_dualclip_mp" ] = "scr_wdm_enfield";
	level.wdm[ "enfield_elbit_mp" ] = "scr_wdm_enfield";
	level.wdm[ "enfield_extclip_mp" ] = "scr_wdm_enfield";
	level.wdm[ "enfield_ft_mp" ] = "scr_wdm_enfield";
	level.wdm[ "enfield_gl_mp" ] = "scr_wdm_enfield";
	level.wdm[ "enfield_ir_mp" ] = "scr_wdm_enfield";
	level.wdm[ "enfield_mk_mp" ] = "scr_wdm_enfield";
	level.wdm[ "enfield_mp" ] = "scr_wdm_enfield";
	level.wdm[ "enfield_reflex_mp" ] = "scr_wdm_enfield";
	level.wdm[ "enfield_silencer_mp" ] = "scr_wdm_enfield_silenced";

	level.wdm[ "famas_acog_mp" ] = "scr_wdm_famas";
	level.wdm[ "famas_dualclip_mp" ] = "scr_wdm_famas";
	level.wdm[ "famas_elbit_mp" ] = "scr_wdm_famas";
	level.wdm[ "famas_extclip_mp" ] = "scr_wdm_famas";
	level.wdm[ "famas_ft_mp" ] = "scr_wdm_famas";
	level.wdm[ "famas_gl_mp" ] = "scr_wdm_famas";
	level.wdm[ "famas_ir_mp" ] = "scr_wdm_famas";
	level.wdm[ "famas_mk_mp" ] = "scr_wdm_famas";
	level.wdm[ "famas_mp" ] = "scr_wdm_famas";
	level.wdm[ "famas_reflex_mp" ] = "scr_wdm_famas";
	level.wdm[ "famas_silencer_mp" ] = "scr_wdm_famas_silenced";


	level.wdm[ "g11_lps_mp" ] = "scr_wdm_g11";
	level.wdm[ "g11_mp" ] = "scr_wdm_g11";
	level.wdm[ "g11_vzoom_mp" ] = "scr_wdm_g11";

        // Rifle

	level.wdm[ "ak47_acog_mp" ] = "scr_wdm_ak47";
	level.wdm[ "ak47_dualclip_mp" ] = "scr_wdm_ak47";
	level.wdm[ "ak47_elbit_mp" ] = "scr_wdm_ak47";
	level.wdm[ "ak47_extclip_mp" ] = "scr_wdm_ak47";
	level.wdm[ "ak47_ft_mp" ] = "scr_wdm_ak47";
	level.wdm[ "ak47_gl_mp" ] = "scr_wdm_ak47";
	level.wdm[ "ak47_ir_mp" ] = "scr_wdm_ak47";
	level.wdm[ "ak47_mk_mp" ] = "scr_wdm_ak47";
	level.wdm[ "ak47_mp" ] = "scr_wdm_ak47";
	level.wdm[ "ak47_reflex_mp" ] = "scr_wdm_ak47";
	level.wdm[ "ak47_silencer_mp" ] = "scr_wdm_ak47_silenced";

	level.wdm[ "commando_acog_mp" ] = "scr_wdm_commando";
	level.wdm[ "commando_dualclip_mp" ] = "scr_wdm_commando";
	level.wdm[ "commando_elbit_mp" ] = "scr_wdm_commando";
	level.wdm[ "commando_extclip_mp" ] = "scr_wdm_commando";
	level.wdm[ "commando_ft_mp" ] = "scr_wdm_commando";
	level.wdm[ "commando_gl_mp" ] = "scr_wdm_commando";
	level.wdm[ "commando_ir_mp" ] = "scr_wdm_commando";
	level.wdm[ "commando_mk_mp" ] = "scr_wdm_commando";
	level.wdm[ "commando_mp" ] = "scr_wdm_commando";
	level.wdm[ "commando_reflex_mp" ] = "scr_wdm_commando";
	level.wdm[ "commando_silencer_mp" ] = "scr_wdm_commando_silenced";

	level.wdm[ "fnfal_acog_mp" ] = "scr_wdm_fnfal";
	level.wdm[ "fnfal_dualclip_mp" ] = "scr_wdm_fnfal";
	level.wdm[ "fnfal_elbit_mp" ] = "scr_wdm_fnfal";
	level.wdm[ "fnfal_extclip_mp" ] = "scr_wdm_fnfal";
	level.wdm[ "fnfal_ft_mp" ] = "scr_wdm_fnfal";
	level.wdm[ "fnfal_gl_mp" ] = "scr_wdm_fnfal";
	level.wdm[ "fnfal_ir_mp" ] = "scr_wdm_fnfal";
	level.wdm[ "fnfal_mk_mp" ] = "scr_wdm_fnfal";
	level.wdm[ "fnfal_mp" ] = "scr_wdm_fnfal";
	level.wdm[ "fnfal_reflex_mp" ] = "scr_wdm_fnfal";
	level.wdm[ "fnfal_silencer_mp" ] = "scr_wdm_fnfal_silenced";

	level.wdm[ "galil_acog_mp" ] = "scr_wdm_galil";
	level.wdm[ "galil_dualclip_mp" ] = "scr_wdm_galil";
	level.wdm[ "galil_elbit_mp" ] = "scr_wdm_galil";
	level.wdm[ "galil_extclip_mp" ] = "scr_wdm_galil";
	level.wdm[ "galil_ft_mp" ] = "scr_wdm_galil";
	level.wdm[ "galil_gl_mp" ] = "scr_wdm_galil";
	level.wdm[ "galil_ir_mp" ] = "scr_wdm_galil";
	level.wdm[ "galil_mk_mp" ] = "scr_wdm_galil";
	level.wdm[ "galil_mp" ] = "scr_wdm_galil";
	level.wdm[ "galil_reflex_mp" ] = "scr_wdm_galil";
	level.wdm[ "galil_silencer_mp" ] = "scr_wdm_galil_silenced";

        level.wdm[ "m14_acog_grip_mp" ] = "scr_wdm_m14";
	level.wdm[ "m14_acog_mp" ] = "scr_wdm_m14";
	level.wdm[ "m14_elbit_mp" ] = "scr_wdm_m14";
	level.wdm[ "m14_extclip_mp" ] = "scr_wdm_m14";
	level.wdm[ "m14_ft_mp" ] = "scr_wdm_m14";
	level.wdm[ "m14_gl_mp" ] = "scr_wdm_m14";
	level.wdm[ "m14_grip_mp" ] = "scr_wdm_m14";
	level.wdm[ "m14_ir_grip_mp" ] = "scr_wdm_m14";
	level.wdm[ "m14_ir_mp" ] = "scr_wdm_m14";
	level.wdm[ "m14_mk_mp" ] = "scr_wdm_m14";
	level.wdm[ "m14_mp" ] = "scr_wdm_m14";
	level.wdm[ "m14_reflex_mp" ] = "scr_wdm_m14";
	level.wdm[ "m14_silencer_mp" ] = "scr_wdm_m14_silenced";

	level.wdm[ "m16_acog_mp" ] = "scr_wdm_m16";
	level.wdm[ "m16_dualclip_mp" ] = "scr_wdm_m16";
	level.wdm[ "m16_elbit_mp" ] = "scr_wdm_m16";
	level.wdm[ "m16_extclip_mp" ] = "scr_wdm_m16";
	level.wdm[ "m16_ft_mp" ] = "scr_wdm_m16";
	level.wdm[ "m16_gl_mp" ] = "scr_wdm_m16";
	level.wdm[ "m16_ir_mp" ] = "scr_wdm_m16";
	level.wdm[ "m16_mk_mp" ] = "scr_wdm_m16";
	level.wdm[ "m16_mp" ] = "scr_wdm_m16";
	level.wdm[ "m16_reflex_mp" ] = "scr_wdm_m16";
	level.wdm[ "m16_silencer_mp" ] = "scr_wdm_m16_silenced";

        // LMG

	level.wdm[ "hk21_acog_mp" ] = "scr_wdm_hk21";
	level.wdm[ "hk21_elbit_mp" ] = "scr_wdm_hk21";
	level.wdm[ "hk21_extclip_mp" ] = "scr_wdm_hk21";
	level.wdm[ "hk21_ir_mp" ] = "scr_wdm_hk21";
	level.wdm[ "hk21_mp" ] = "scr_wdm_hk21";
	level.wdm[ "hk21_reflex_mp" ] = "scr_wdm_hk21";

	level.wdm[ "m60_acog_mp" ] = "scr_wdm_m60";
	level.wdm[ "m60_acog_grip_mp" ] = "scr_wdm_m60";
	level.wdm[ "m60_elbit_mp" ] = "scr_wdm_m60";
	level.wdm[ "m60_extclip_mp" ] = "scr_wdm_m60";
	level.wdm[ "m60_grip_mp" ] = "scr_wdm_m60";
	level.wdm[ "m60_ir_grip_mp" ] = "scr_wdm_m60";
	level.wdm[ "m60_ir_mp" ] = "scr_wdm_m60";
	level.wdm[ "m60_mp" ] = "scr_wdm_m60";
	level.wdm[ "m60_reflex_mp" ] = "scr_wdm_m60";

	level.wdm[ "rpk_acog_mp" ] = "scr_wdm_rpk";
	level.wdm[ "rpk_dualclip_mp" ] = "scr_wdm_rpk";
	level.wdm[ "rpk_elbit_mp" ] = "scr_wdm_rpk";
	level.wdm[ "rpk_extclip_mp" ] = "scr_wdm_rpk";
	level.wdm[ "rpk_ir_mp" ] = "scr_wdm_rpk";
	level.wdm[ "rpk_mp" ] = "scr_wdm_rpk";
	level.wdm[ "rpk_reflex_mp" ] = "scr_wdm_rpk";

	level.wdm[ "stoner63_acog_mp" ] = "scr_wdm_stoner63";
	level.wdm[ "stoner63_elbit_mp" ] = "scr_wdm_stoner63";
	level.wdm[ "stoner63_extclip_mp" ] = "scr_wdm_stoner63";
	level.wdm[ "stoner63_ir_mp" ] = "scr_wdm_stoner63";
	level.wdm[ "stoner63_mp" ] = "scr_wdm_stoner63";
	level.wdm[ "stoner63_reflex_mp" ] = "scr_wdm_stoner63";

        // ShotGun


	level.wdm[ "hs10_mp" ] = "scr_wdm_hs10";
	level.wdm[ "hs10dw_mp" ] = "scr_wdm_hs10";
	level.wdm[ "hs10lh_mp" ] = "scr_wdm_hs10";

	level.wdm[ "ithaca_mp" ] = "scr_wdm_ithaca";
	level.wdm[ "ithaca_grip_mp" ] = "scr_wdm_ithaca";

	level.wdm[ "rottweil72_mp" ] = "scr_wdm_rottweil72";

	level.wdm[ "spas_mp" ] = "scr_wdm_spas";
	level.wdm[ "spas_silencer_mp" ] = "scr_wdm_spas_silenced";

        // Launcher

	level.wdm[ "m220_tow_drop_mp" ] = "scr_wdm_m220";
	level.wdm[ "m220_tow_killstreak_mp" ] = "scr_wdm_m220";
	level.wdm[ "m220_tow_mp" ] = "scr_wdm_m220";
	level.wdm[ "m220_tow_wager_mp" ] = "scr_wdm_m220";

	level.wdm[ "m72_law_mp" ] = "scr_wdm_m72";

	level.wdm[ "rpg_mp" ] = "scr_wdm_rpg";

	level.wdm[ "strela_mp" ] = "scr_wdm_strela";


	level.wdm[ "china_lake_mp" ] = "scr_wdm_china_lake";

        // Special Weapon

	level.wdm[ "crossbow_explosive_mp" ] = "scr_wdm_crossbow";
	level.wdm[ "crossbow_mp" ] = "scr_wdm_crossbow";

	level.wdm[ "explosive_bolt_mp" ] = "scr_wdm_explosive";

	level.wdm[ "m202_flash_drop_mp" ] = "scr_wdm_m202";
	level.wdm[ "m202_flash_mp" ] = "scr_wdm_m202";
	level.wdm[ "m202_flash_wager_mp" ] = "scr_wdm_m202";

	level.wdm[ "minigun_drop_mp" ] = "scr_wdm_minigun";
	level.wdm[ "minigun_mp" ] = "scr_wdm_minigun";
	level.wdm[ "minigun_turret_mp" ] = "scr_wdm_minigun";
	level.wdm[ "minigun_wager_mp" ] = "scr_wdm_minigun";

        // Melee

	level.wdm[ "knife_mp" ] = "scr_wdm_knife";

	level.wdm[ "knife_ballistic_mp" ] = "scr_wdm_knife_ballistic";

	level.wdm[ "hatchet_mp" ] = "scr_wdm_hatchet";

        // Revive

	level.wdm[ "syrette_mp" ] = "scr_wdm_syrette";

        // Grenades

	level.wdm[ "frag_grenade_mp" ] = "scr_wdm_frag_grenade";
	level.wdm[ "frag_grenade_short_mp" ] = "scr_wdm_frag_grenade_short";  // This one is the one used in Martyrdom

	level.wdm[ "sticky_grenade_mp" ] = "scr_wdm_sticky_grenade";

	level.wdm[ "claymore_mp" ] = "scr_wdm_claymore";

	level.wdm[ "satchel_charge_mp" ] = "scr_wdm_satchel_charge";

	// Grenade launcher
	level.wdm[ "gl_ak47_mp" ] = "scr_wdm_gl";
	level.wdm[ "gl_ak74u_mp" ] = "scr_wdm_gl";
	level.wdm[ "gl_aug_mp" ] = "scr_wdm_gl";
	level.wdm[ "gl_commando_mp" ] = "scr_wdm_gl";
	level.wdm[ "gl_enfield_mp" ] = "scr_wdm_gl";
	level.wdm[ "gl_famas_mp" ] = "scr_wdm_gl";
	level.wdm[ "gl_fnfal_mp" ] = "scr_wdm_gl";
	level.wdm[ "gl_galil_mp" ] = "scr_wdm_gl";
	level.wdm[ "gl_m14_mp" ] = "scr_wdm_gl";
	level.wdm[ "gl_m16_mp" ] = "scr_wdm_gl";

        // Flamethrower
	level.wdm[ "ft_ak47_mp" ] = "scr_wdm_ft";
	level.wdm[ "ft_aug_mp" ] = "scr_wdm_ft";
	level.wdm[ "ft_commando_mp" ] = "scr_wdm_ft";
	level.wdm[ "ft_enfield_mp" ] = "scr_wdm_ft";
	level.wdm[ "ft_famas_mp" ] = "scr_wdm_ft";
	level.wdm[ "ft_fnfal_mp" ] = "scr_wdm_ft";
	level.wdm[ "ft_galil_mp" ] = "scr_wdm_ft";
	level.wdm[ "ft_m14_mp" ] = "scr_wdm_ft";
	level.wdm[ "ft_m16_mp" ] = "scr_wdm_ft";

	// Misc
	level.wdm[ "destructible_car" ] = "scr_wdm_vehicles";
	level.wdm[ "explodable_barrel" ] = "scr_wdm_barrels";
	
	return;
}

